//-------------------------------------------------------------------
//	Copyright (c) 2010-2014  Zhirnov Andrey
//	This file is part of the "UX Standard Lib" project.
//	See copyright notice in "UX_STL_Core.h".
//-------------------------------------------------------------------

#ifndef _UXS_TYPES_CONFIG_H
#define _UXS_TYPES_CONFIG_H

#pragma once

#include "../BaseTypes/Types.h"

namespace UX_STL
{
namespace UXTypes
{

	//
	// Config
	//

	struct UX_EXPORT CoreTypesConfig
	{
		// string //
		static uint		StringDefaultRadix;
		static uint		StringResizingMinSize;
		static uint		StringResizingNominator;
		static uint		StringResizingDenominator;

		// array //
		static uint		ArrayResizingMinSize;
		static uint		ArrayResizingNominator;
		static uint		ArrayResizingDenominator;

		// queue //
		static uint		QueueResizingMinSize;
		static uint		QueueResizingNominator;
		static uint		QueueResizingDenominator;

		// circular queue //
		static uint		CircularQueueResizingMinSize;
		static uint		CircularQueueResizingNominator;
		static uint		CircularQueueResizingDenominator;
	};



	//
	// Statistic
	//

	DEBUG_ONLY(
		struct UX_EXPORT CoreTypesStatistic
		{
			// buffered ptr //
			static uint		BufferedPtrMaxBufferSize;
		};
	)


}	// UXTypes
}	// UX_STL

#endif	// _UXS_TYPES_CONFIG_H